package Main;

import java.util.LinkedList;
import java.util.List;

/**
 *
 * @author Emmanuel
 */
public class NiveauScript extends Niveau {
   
    public NiveauScript(){
        lesObstacles=new LinkedList();
    }
   
    @Override
    public synchronized void addObstacle(Obstacle o){
        if(!lesObstacles.isEmpty()) {
            if(lesObstacles.get(0).getPosition().getX()>o.getPosition().getX()) {
                throw new IntegerOverflowException();
            }
        }
        lesObstacles.add(o); // ajoute a la fin de la liste.
    }
   
    @Override
    public synchronized Obstacle getNext() {
        if(!lesObstacles.isEmpty()) {
            return lesObstacles.get(0);
        }
        return null;
    }
   
    @Override
    public synchronized List getObstacle() {
        return this.lesObstacles;
    }

    @Override
    public synchronized void removeObstacle() {
        if(lesObstacles.size()>0)
            lesObstacles.remove(0);
    }
}
